home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Developer Toolbox 6.1
/
SGI Developer Toolbox 6.1 - Disc 4.iso
/
Toolbox.contents
< prev
next >
Wrap
Text File
|
1994-08-01
|
116KB
|
2,357 lines
=============================================================================
-----------------------------------------------
Explanation of the contents of ~4Dgifts/toolbox
-----------------------------------------------
Developer Toolbox, Release 4.2, August, 1994
The Developer Toolbox is distributed to all registered software developers
in the Silicon Graphics Developer Program. It contains various tools, SGI
source code + binaries and on-line information for the purpose of helping
developers learn about, and write, code for IRIS workstations.
To use this CD to its fullest, you must be running IRIX 5.2
Version 4.2 of the Developer Toolbox is entirely built on top of 5.2 IRIX.
No guarantees are made about whether or not any of this stuff now compiles
on anything prior to IRIX 5.2.
Version 4.2 new special additions:
- cmapdoctor, scanner/viewer for all X cmaps/visuals (over/under -lays/popups)
- xshowcmap extension, for debugging probs with multiple colormaps/visuals
- gmemusage, a graphical program-system memory usage display tool
- gvi, provides a graphical user interface to the vi(1) text editor
- CD mastering mkisofs binary creates an ISO-9660 filesystem image
- updated pcnfsd daemon software tree
- lib+examps provide video prog'er w/simple programmatic interface on top of VL
- harmonizer, real-time audio pitch bender example program
- example programs using libmidi.a illustrate basic use of the MIDI library
- sonic, real time audio spatialization example with graphics
- VCal, a calendar program with alarms
- builderExamples, programs written using BuilderXcessory
- xcontact, Address Book and/or Contact Management program
- vroom, swank OpenGL slot car racing in the future
- Texture Mapped `smoke' special F/X implementation + documentation
- "Fast Shadows and Lighting Effects Using Texture Mapping" PostScript file
- "Texture Mapping as a Fundamental Drawing Primitive" PostScript file
- "The Design of the OpenGL Graphics Interface" PostScript file
- OpenGL Attribute Tester tests OpenGL functionality on different platforms
- OGL picking prog w/X overlay, RGBA, double- & depth- buffered window
- libdmalloc, debugging malloc lib, uses DSOs to plug in a diff malloc library
- src + updated doc files for DWARF, a binary debugging-information-format
- "The Silicon Graphics Delta C++ Compiler" White Paper, (Preliminary), 18 pgs
- syms, script lists exported functions in libs, and as "undef" to ensure all
unresolved symbols accounted for
- "HIPPI Performance on IRIX 5.2" white paper, + 2 accompanying source progs
- "Establishing a PPP connection using IRIX PPP" paper
- "SLIP Installation and Configuration Guide" paper
- 122 new Request For Comment files, now up to rfc1663 + 28 new PS versions
- modified src from inventor_dev.src.sample handles the Spaceball input device
- OpenIV prog uses draggers for direct manipulation of a surface of revolution
(with its own run-time DSO)
- Open Inventor files demo an interactive direct manipulation of a Track Light
- sample OpenIV files demo draggers and engines in "self-manip'ing" examples
- nascent murmurings of a toolbox.html home page references the following:
* Inventor FAQ + Known Bugs, Fixes, & Workarounds--from Silicon Surf www site
* MIPS ABI Information Directory includes a FAQ on porting to the MIPS ABI
* html document on InPerson desktop conferencing sw product
* rayshade Reference Guide, plus "how to" guide document sets
- "REACT in IRIX V.5 Technical Report" for real-time extensions to IRIX 5
- file describing colormap usage differences between 5.1* and 5.2
- list of 5.2 IRIX patches, last updated 5/15/94
- list of pre-5.2 IRIX patches, last updated 5/15/94
- texvol, performs GLX (4.0) volume rendering using 2d or 3d textures
- "Performance optizations, implementation, and verification of the SGI
Challenge multiprocessor" PS doc
- 2 programs--one using "Font", the other "Pixmap"--cursors in X
- 2 X font programs, one working with glyphs, the other doing scalable fonts
- LinkWinds, a visual data analysis and exploration system designed to rapidly
and interactively investigate large multivariate and multidisciplinary data
sets to detect trends, correlations and anomalies. It accepts HDF, CDF,
netCDF, FITS, PDS, SGI RGB, and binary byte and floating point data
- rayshade 4.0.6, swank ray tracing pkg modified to output sgi img file format
- "Free Widget Foundation" flexible widgets compliments of X user community
- xdbx in sgi-inst image form, contains executables for IRIX 5.2+
- FTP sites file, updated 7/26/94
- 5/29/94 Version 2.0 Beta of psgl
- 7/11/94 released version of plan
- updated version1.77 of CLRview
- updated version 3.2 of libtiff
Contents
`!' indicates contains new or updated material as of version 4.2
PART 0 : Frequently Asked Questions archive
PART I : GL Demo Source
! PART II : Illustrative "how to" Source Code
! PART III : Graphics Utility Libraries and Tools
! PART IV : On-Line Technical Documents
! PART V : Public Domain
PART VI : Hardware Tree of Device Driver Code/Documentation
! PART VII : Binary Tools
! PART VIII: Applications Packages
! PART IX : Utilities
PART X : 3 Parallel Math Libraries and Other Tools
! PART XI : Software Development Tools
PART XII : Software for Different Tutorials
PART XIII: Printer Software Tools
altho in the janitor's eyes, it doesn't yet qualify as full-fledged "chapter"
on the toolbox, the www directory in the top-of-tree *does* contain the
beginnings of html-talk for this CD. if you don't have a mosaic client prog
that you can access, but you do have access to the internet, www/README
contains the ftp src for same. if you *do* have mosaic available, "Open URL"
under File and point it to www/toolbox.html. if you don't have mosaic and
don't have access to the internet, in with 4.3, we will somehow have a client
bundled with this CD for access to the documentation/information available in
html file format.
=============================================================================
Contents of Version 4.2 of the Developer Toolbox
=============================================================================
===========================================
PART 0: Frequently Asked Questions archive
===========================================
FAQs contains general "net land" obtained information as well as
SGI-specific subjects of Frequently Asked Questions lists including:
GENERALfaqs:
3d-programmer-faq: FAQ: 3-D Information for the Programmer
C++libs-faq : Available C++ libraries FAQ
C-abridged-faq: contains minimal answers to the comp.lang.c frequently-
asked questions list
C-faq : comp.lang.c Answers to Frequently Asked Questions
GNUemacs-faq : answers to FAQs about GNU Emacs and many Emacs Lisp
programs. Contains pointers to other resources.
SCSI-faq : a list of Frequently Asked Questions about SCSI
WWW-faq : World Wide Web Frequently Asked Questions
X-faq : comp.windows.x Frequently Asked Questions
X.speedups-faq: contains a list of suggestions about what you can do
to get the best performance out of X on your
workstation -- without buying more hardware.
Xt-FAQ : comp.windows.x.intrinsics Frequently Asked Questions
cdrom-faq : FAQ for the alt.cd-rom usenet newsgroup
comp.viz-faq : comp.graphics.visualization software pkg listing
compression-faq: (FAQ) for comp.compression and comp.compression.research
cryptography-faq: Cryptography FAQ --> ALL 10 PARTS INCUDED IN FULL <--
fax-faq : Fax (comp.dcom.fax) Frequently Asked Questions
fonts-faq : comp.fonts FAQ: General Info
graphics-faq : comp.graphics Frequently Asked Questions
i18n-faq : bit.international.software FAQ about the
internationalization of software.
isdn-faq : comp.dcom.isdn "Integrated Services Digital Networks" FAQ
jpeg-faq : JPEG image compression: Frequently Asked Questions
metafont-list : [comp.text.tex] Metafont: All fonts available in .mf format
motif-faq : comp.windows.x.motif Frequently Asked Questions
perl-faq : comp.lang.perl Frequently Asked Questions
pex-faq : comp.windows.x.pex Frequently Asked Questionss
postscript-faq: PostScript monthly FAQ v2.2
postscriptSrcs-faq: Useful facts about the PostScript Sources newsgroup
resources-list: Computer Graphics Resource Listing/guide for computer
graphics software.
speech-faq : comp.speech Frequently Asked Questions
tex-faq : TeX, LaTeX, etc.: Frequently Asked Questions with Answers
SGIfaqs:
DSO-faq : SGI Dynamic Shared Objects FAQ list for IRIX 5.1
Dwarf-faq : SGI FAQ on DWARF, a binary debugging-information format
Explorer-faq : SGI explorer Frequently Asked Questions
Indy-faq : beginnings of an SGI Indy FAQ
Inventor-faq : SGI inventor Frequently Asked Questions
OpenGL-faq : SGI opengl Frequently Asked Questions
Performer-faq : SGI performer Frequently Asked Questions
SGI-Admin-faq : SGI system administration Frequently Asked Questions
SGI-Apps-faq : SGI applications Frequently Asked Questions
SGI-Graphics-faq: SGI graphics Frequently Asked Questions
SGI-Hardware-faq: SGI hardware Frequently Asked Questions
SGI-Misc-faq : SGI miscellaneous Frequently Asked Questions
SGI-pointer-faq: Pointer to the other SGI FAQs
All above files other than the DSO-faq file are available via anonymous ftp.
==============================
PART I: GL DEMO SOURCE
==============================
Contains complete source code listings for SGI demos.
Contents of ~4Dgifts/toolbox/src/demos/demobook
demobook - src for the browser UI used in the toolbox script
Contents of ~4Dgifts/toolbox/src/demos/audio
amesh - real-time spectrum analysis of an audio input (in C++)
ameshC - "straight C" language version of amesh
bz - battlezone blow-'em-up demo with audio hooks n' cues
drive - inspired "clyde crashcop" driver environment
synthia - demo using midi sound files
Contents of ~4Dgifts/toolbox/src/demos/GL
atlantis - whales, dolphins, sharks swimming in the ocean.
bounce - shows off lighting/local light sources
buttonfly - graphical interface to run a program on ALL machines
closeup - image magnifier with x & y zoom
curve - shows wireframe curves, colorindex depthcueing, font manager
demograph - shows well, even on 8-bit machines (RGB lighting where poss)
dragon - good dithering code is hidden in this demo
flight - the classic revisited, all versions in one single program now
flip - shows multiple light sources, materials, and models
ideas - real-time animation with moving lights
libdemo - (buttonfly, flip, snurb all use functionality defined here)
libgobj - used by flight
logo - simple example of GL lighting and matrix transformations
newave - draws wirefrm, colorindex, flat, smooth, anti-alias, depthQ'd
newton - a real-time simulation of an elastic body such as Jello
rotimg - draws triangle meshes that can be rotated in 3D
snoop - screen magnifier, real-time reporting under the mouse
snurb - good examp of simple NURBS surfaces drawing
Contents of ~4Dgifts/toolbox/src/demos/OpenGL
atlantis - sharks, whales, dolphins--lighting, animation, texture-mapping
backtrace - demo of faked ray tracing
drip - makes little droplets of color -- 2D graphics/blending fxns
fadeflip - flips a texture-mapped square around -- texture-mapping
ideas - Ideas in Motion ported to OGL--stippling, lighting, animation
insect - straight-ahead OpenGL port of thant-gaud's inspiration
lorenz - ride on/near particles stuck in a Lorenz attractor
puzzle - move pieces in the proper order to solve the puzzle
space - OpenGL version of the GL demo doing a simulation of the Solar
System and Milky Way galaxy
stonehenge - demo of stonehenge with shadows, textures, etc
tex_cube - small texture-mapping demo of a translucent sphere
Contents of ~4Dgifts/toolbox/src/demos/REALITY
atom - MULTI-SAMPLING & in-the-window stereo viewing
distort - computational dynamics textures/real-time texture mesh geom
fastshadows-real-time shadows using texture mapping.
weather - GE hdw real-time convolution filters (including libil)
Contents of ~4Dgifts/toolbox/src/demos/VGX
blob - shows off texture mapping
envmap - environment map a spin object in real-time.
morph - demo showing real-time morphing (image transformation)
shadows - demos showing display of true shadows in real-time
Contents of ~4Dgifts/toolbox/src/demos/video
programs (4.0 GLX) using VL+motif, or VL+IrisGL, for Galileo, Indigo 2 Video,
and Indy Video platforms:
bigvideoin - simple app showing a zoomed-up videoin window
specialfx - chroma/luma keying, wipes & fades, blends &/| switches
trails - sets up a feedback loop to see trailing effects
vidpaint - captures video into memory and draws frames into a window
vidtmesh - captures video into memory and places frames onto a 3D
tmesh grid, which can then be manipulated in space
==================================================
! PART II: Illustrative "How To" Source Code
==================================================
Contains source code implementations we collected or wrote that presents
the developer with useful/helpful "learning-by-example" applications.
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ++++++++++++ NEW/UPDATED ADDITIONS AS OF VERSION 4.2: ++++++++++++
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+
+ GLX/texvol: performs volume rendering using 2d or 3d textures.
+
+ X/cursors: 2 examples implementing cursors in X--one using "Font" and
+ the other "Pixmap" cursors.
+
+ X/fonts: 2 X font examples--one working with glpyhs, the other,
+ implementing scalable fonts.
+
+ X/xshowcmap2: xshowcmap extension, useful in debugging problems dealing
+ with multiple colormaps and/or visuals.
+
+ X/XtAppInitwIcon: generates multi-color icons using Xt.
+
+ audio/harmonizer: real-time audio pitch bender example program.
+
+ audio/midi: example programs using libmidi.a illustrate basic use of
+ the MIDI library.
+
+ audio/sonic: real time audio spatialization example w/graphics.
+
+ inventor/DirectManipRevoSurf: a demo using its own DSO that implements
+ draggers for direct manipulation of a surface of revolution.
+
+ inventor/DirectManipTrackLight: OIV files with interactive track light.
+
+ inventor/models: sample Ofiles demo'ing use of draggers and engines in
+ "self-manipulating" examples.
+
+ inventor/www: html Inventor doc files--FAQ + Known Bugs, Fixes, and
+ Workarounds--from the Silicon Surf www.sgi.com site. access
+ is thru toolbox/www/toolbox.html (see toolbox/www/README)
+
+ irix/uucpVadmin/inst: now contains inst image for UUCP vadmin tool.
+
+
+ networking/HIPPI: "HIPPI Performance on IRIX 5.2" white paper plus two
+ accompanying source programs.
+
+ opengl/oat: OpenGL Attribute Tester tests OpenGL functionality on
+ different platforms, with GUI to test most changeable
+ OpenGL attributes.
+
+ opengl/pick: implementation of picking in OpenGL.
+
+ opengl/x+opengl: updated renderboth.c program src.
+
+ smoke: Texture Mapped `smoke' special effects implementation.
+
+ speech/inst: updated beta inst imgs of speech_eoe & speech_dev products.
+
+ video/simpleVideo: a library + examples to provide the video programmer
+ with a simple programmatic interface on top of the VL.
+
+ viewkit/VCal: a simple viewkit-based calendar program with alarms.
+
+ viewkit/builderExamples: example programs written using BuilderXcessory.
+
+ viewkit/xcontact: Address Book and/or Contact Management Software.
Contents of ~4Dgifts/toolbox/src/exampleCode
3Dmodeling - routines (and example programs) to build solid models.
GLX - mixed model programs based on the 4.0 GLX paradigm
using GL-Xlib or GL-Motif/Xt.
SciTex - a paper and example code describing "Texture Mapping in
Technical, Scientific and Engineering Visualization".
X - documents and programs relevant to SGI's X server
implementation.
MP - multi-processing/parallel computing examples: how to
combine mips1 & mips2 objects into a single mips1/2
executable thru a jump table implementation, and a using
a high resolution timer of the io3 board on an r4k-based
SGI system.
audio - example code employing functionality in lib*audio*.a.
calc - implementation of a Reverse Polish Notation calculator.
cap - demonstration of a technique to "cap" a clipped
(cut-away) solid object.
csg - includes ascii-copy of a paper on and an implementation
of constructive solid geometry.
fconv - a Motif-based numeric format conversion ulility for hex,
octal and decimal equivalents.
games - src for various graphics/audio game software.
i18n - examples of internationalization and localization with
implementation of wide characters for string manipulation
as well as XPG/3 and MNLS message cataloging.
inventor - contains inventor source code + data files + additional
documentation in PostScript format.
networking - contains source code for networking example programs.
stencil - three programs implementing drawing in the stencil planes.
stereo - software-stereo-in-a-window source for 5.1 or later IRIX.
swirl - a texture generator program for texture maps.
video - contains apps implementing functionality for digital video.
Contents of ~4Dgifts/toolbox/src/exampleCode/GLX
DBglxwidget - updated version of the double-buffered overlay program.
basics - collection of basic Motif-based Mixed Model programs
rubberband- motif and Xlib versions of a demo implementing a rubberband
buffer - shows mixed model switching between single and buffer modes
cutNpaste - illustrates cut and paste using the Motif Clipboard
dnbglx - mixed model program using the dials and buttons
dualhead - example code demos taking advantage of multiple screens
littleRedCap - An interference checking and capping demo.
tablet - mixed model program using the tablet
Contents of ~4Dgifts/toolbox/src/exampleCode/X
X/Xserver - Xserver contains PostScript documents on Silicon Graphics
X server papers:
-- "A Fully Functional Implementation of Layered Windows"
-- "Program X Overlay Windows"
-- "Going Beyond the MIT Sample Server: The Silicon
Graphics X11 Server"
-- "A Three Color Cursor for X"
as well as accompanying sample src and a Makefile to
build the executables.
Contents of ~4Dgifts/toolbox/src/exampleCode/audio
aiffdoc.ps- document: "Audio Interchange File Format AIFF-C, A
revision to include compressed audio data"
ascope - program displays the left channel of data coming in from
an audio port;
reverb - simulated reverberation for real-time audio input/output
DAT - dodat: a simple DAT command interface
- cdtodat: simple CD-to-DAT copying examp
- verifydat: simple DAT checking program
rock - the indigo memorial barbeque theme song rapp as constructed
and sung by mr. totally insane (tm) himself. a study in
random looping of musical "melodies" and rhythms.
somePlayback- beefed-up programs that generate oscillators, waveforms,
change playback rate, mix, change pitch, loop audio samples
and sends output to the speaker.
tablenet - generates a small series of eight single cycle waveforms
and writes them into a 16-bit AIFF file.
Contents of ~4Dgifts/toolbox/src/exampleCode/games
buzzwordBingo - all-time SGI hit, buzzword bingo.
cubetris - a 3D IRIS GL tetris game.
seahaven - pure Xlib C++ graphical solitaire card playing game.
IndiZone/ blix - the mighty mouse hero of indizone.
IndiZone/cycles - solo or multiplayer (network) motorcycle game.
IndiZone/gold - synthetic fish bowl simulation.
IndiZone/oort - vehicular combat on an asteroid.
IndiZone/sw - (Spacewar) combat in space.
IndiZone/tagh - variation on the children's game of tag.
Contents of ~4Dgifts/toolbox/src/exampleCode/inventor
noodle - an easy-to-use 3D object-modeler rich in Open Inventor.
TranslatorGuide.ps - PostScript file comprising the new "How to Write an
Open Inventor File Translator" document.
OpenInventorLab - hands-on lab + solutions for Open Inventor 2.0 +
38-page showcase document on Open Inventor 3d Toolkit.
QuickRefGuide.ps - Guide on Open Inventor nodes and the Inventor file
format in PostScript.
sharedSV - an extension of the stock SceneViewer enabling 2 or more
people on the same net to access the same input file
simultaneously and immediately see each other's changes.
soundspheres - a very primitive spacial audio program.
inventorTemplates - Open Inventor versions of two example "template"
programs for a Walk Viewer and a Player.
ivcalc - Open Inventor-version of ivcalc, a full function infix
calculator with audio, textures, (i.e. the works).
DxfToIv - a utility that converts AutoCAD's "DXF" format files to
Inventor files (man page also included).
ivcalc - a full-function infix scientific calculator employing an
Inventor provided viewer with features for manipulating
the object, changing certain rendering parameters, etc.
Contents of ~4Dgifts/toolbox/src/exampleCode/irix
cc_c++_make_csh: docs relating to compilers, [p]make, cshell
playEngine: sproc/semaphore source implements raising a
sub-process's priority to circumvent preemption
scripts: subtree of c-shell script utilities providing shell
programming "source"--11 general- purpose, 11 rcs-specific
tools: with irix/system -level programs:
- Lastrev: get RCS revisions/symbols info & print to stdout
- chktime: compares 2 file's mod. times returning {-1|0|1}
- getopt: enhanced version of the unix system call
- gettime: get last mod. time of file and writes to stdout
- gpasswd: like passwd, sets the password for a group
- isIn: returns true/false if 1st param equal to any other
params on command line
- listWMres: lists all resources known to window manager
- printf: better than the IRIX 5 one because it can handle
all the standard C types
- rcstime: returns time of last RCS update in an RCS file
- strlen: shell-equivalent of strlen(3C) subroutine
- unique: returns all parameters passed on the command line
removing any duplicates
- vacupd: reads/modifies data in vacation database files
uucpVadmin/src: contains src for UUCP vadmin tool, allowing GUI set up
of UUCP files & confirmation communication to modem is good.
Contents of ~4Dgifts/toolbox/src/exampleCode/networking
ifaddress - prints link-level addr of Ethernet or FDDI interface
rpcdemo - an example RPC client and server application
short_timer - checks whether remote host responds quickly, avoiding long
wait for a network timeout.
Contents of ~4Dgifts/toolbox/src/exampleCode/opengl
bench - a synthetic modeling benchmark for OpenGL
cap - motif-based interference checking demo.
colorChooser - contains OpenGL version of the color chooser widget,
libGLColorChooser.a, identical in usage/functionality to
the IrisGL version of color chooser widget found in libSgm.
debugHelper - provides way to override DSO functions to trace a program's
OpenGL calls without recompiling.
motif - 11 sample motif-based openGL programs, with/without libGLw.a.
nurbsTrim - makes a trimmed NURBS surface in OpenGL and Inventor.
sigraf/lib- source for libtk.a, and libaux.a libraries.
sigraf/spec- 3 PostScript files comprising the OpenGL specification.
sigraf/src/examples/book- on-line copy of all src in "The OpenGL
Programming Guide" book published by Addison-Wesley.
sigraf/src/examples/samples- 27 example programs based on libtk.a
utilities/isfast - from sgi's ftp site at sgi.com: performance measure
routines indicating if a given OpenGL feature is fast or not;
utilities/xglinfo - displays info about an X server supporting the OpenGL
extension, especially with regard to visuals.
x+opengl - contains src from a three-part series of articles published
in "The X Journal" about programming OpenGL and X, as well
as PostScript "copy" of the three articles in the series,
"OpenGL and X, Part 1: An Introduction" and "Part 2: Using
OpenGL with Xlib", and "OpenGL and X, Part 3: Integrating
OpenGL with Motif", as ell as another example program,
renderboth, which renders with X and OpenGL to the same
window using a standard motif XmDrawingArea widget as the
rendering medium.
xlib - 38 sample openGL programs based strictly on Xlib alone,
including 2 implementing commensurate ""iris-GL-type" popup
menu functionality.
Contents of ~4Dgifts/toolbox/src/exampleCode/speech:
inst - beta inst images of the speech_eoe & speech_dev products
utilities - binaries to enhance one's speech run-time envm
examples - basic speech recognition example programs
lackey - speech aware app launcher, developed using in-development
version of SGI's speech recognition sw. An intro to using
speech API and the architechture of the speech sw system.
Contents of ~4Dgifts/toolbox/src/exampleCode/stereo
opengl: - 2 simple "boilerplate" stereo implementations contained in
4 OpenGL/motif programs:
- boilerplate: Basic X-Motif initialization routines
- clip: clip demo with Motif Wrapper
- simple_stereo: Soft stereo example
simple_stereo needs IRIX 5.2 to run
- simple_stereo_re: Quadbuffer Stereo example
simple_stereo_re will run on 5.1 IRIX REALITY ENGINES.
GL_5.2 - the makings of software-stereo-in-a-window or "SoftStereo",
this code is derived from an older 4Dgifts dir that showed
how to use the original SGI StereoView implementation. In
IRIX 5.2 and beyond, SGI engineers have enhanced the Xsgi X
server to provide a more sophisticated stereo implementation
on some graphics devices. SoftStereo has many of the
characteristics of hardware-stereo-in-a-window on an RE but
at reduced resolution and price.
Contents of ~4Dgifts/toolbox/src/exampleCode/video
SWconfig4VidOptProds: list of sw configurations for video option
products running 5.2 IRIX
scrollmon - scrollmon creates realtime scrolling credits (from either
anti-aliased text or SGI rgb images) or titles for video
production.
security - security camera for stopframe and motion detection.
security detects motion on a video source and outputs it to
a movie file. You can select various movie formats and 3
different image sizes. The frames are added to the movie
file as they are collected. This is different than
capture(1).
seqgrab - VL sequential frame accurate capture source (Galileo/VLAN).
Grabs a sequence of frames between start and end timecodes.
vidmap - contains vidmap, an example of texture mapping of video,
using the new SGI Movie Library and the Video Library (VL).
Selection can be either a live source such as IndyCam, any
other live vid source or a movie file (SGIMF, QuickTime,
or MPEG) to be texture mapped to a polygon.
============================================================
! PART III: GRAPHICS UTILITY LIBRARIES AND TOOLS
============================================================
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ++++++++++++ NEW ADDITIONS AS OF VERSION 4.2: ++++++++++++
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ libtiff --
+
+ *finally* updated to v3.30beta which has been out for some time.
Contains a subset-codification of Paul Haeberli's universe. One of the
most inspired sentient beings ever (and an "elder" of sgi to boot), Paul
Haeberli's "to do" list is always full of endlessly expanding projects
he enumerates for himself. This subtree contains most of the "cool
graphics" software Paul discussed during his talk with Tom Davis at
SGI's May 1992 Developer's forum (previously made available on the
"Totally Insane (tm)" CD distributed at that time). This subtree can be
most properly subtitled "Graphics Utilities and Libraries." Two files
in the main directory--README and README.overview--provide detailed
breakdowns of what comprise's a "current slice of the haeberli universe."
From the toolbox/src/haeberli/README file:
TOTALLY INSANE(tm) Graphics Tools and Utility Libraries
OBLIGATORY NOTE
THIS SOFTWARE IS PROVIDED "AS IS" WITH NO WARRANTIES OF ANY KIND INCLUDING
THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
DO NOT USE NEAR WATER. DO NOT USE WHILE OPERATING HEAVY MACHINERY.
This software is provided without support and without any obligation
on the part of Silicon Graphics, Inc. to assist in its use, correction,
modification or enhancement. There is no guarantee that this software
will be included in future software releases. But what is guaranteed
anyway?
Paul Haeberli
Silicon Graphics
July, 1992
Contents:
128env - collection of spherical environment map images
128tex - collection of small texture map images
abekas - utilities from Abekas Video Systems
autopaint - "autopaint" an rgb image into various "altered states"
compexp - compression explorer w/sliders to adjust compression params
enhance - swank image processing GUI prog that makes use of libui.a
envmaps - cubical format environment maps
envtools - environment map tools
fonts - a bunch of outline fonts in our polygonal outline font fmt
fonttools - outline font tools
images - some IRIS images that can be "ipaste"d to the screen
imgtools - a collection of tools for dealing with images
imp - "the new impressionist" -- an image paint program
impression - interactive tools to create painted reps of scanned-in photos
include - files defining various data structures used by the libs
jpeg - jpeg img [de]compression sw + support to manip SGI image files
leep - software implementation of the LEEP projection
lib - contains pre-built--rle, tri, ui, vor--libraries
libcan - basic support for creation and manipulation of canvases
libgutil - a graphics utility library
libimage - a library for reading and writing images
! libtiff - a tiff image library plus a tiff tools subdir
movie - programs for compressing and decompressing streams of images
mpeg - contains a public domain MPEG video software decoder
mtex - img-processing app to massage images for use as texture maps
objects - a bunch of sgo objects
objtools - object tools
pstools - postscript processing tools for the IRIS
sgisep - has been removed--see note below for "sgisep"
styline - create interactive hidden line drawing of a geometric object
tools - desktop and graphics utilities tools
tritest - decompose a complex polygons into a series of triangles
vidiot - "video feedback" prog animates a face w/audio input
vidpan - contains tools for controlling a Panasonic Video disc recorder
vidsony - " " " " a SONY LVR-5000 Video disc recorder
vidtools - tools for processing streams of video images
vortest - example to document the structures in lib/libvor.a
Paul 'n dave
=======================================================
Minimalist breakdown of this subtree's contents follow:
=======================================================
NEWEST CELEBRITIES/ADDITIONS TO THE "FAMBLEE"
imgtools/icmp --
compares two IRIS images. The first and second images are placed
in the front and back buffers respectively to start with. Two
more images are computed. The third image in the scheem is as
large as the largest image among the input images along both
dimentions. It consists of identical pixels of the input images
if exist, and 0x00ffff00 otherwise. The forth image is similar
to the thirt, except that comparision is done only for the rgb
channels excluding the alpha channel. This is useful for
alphaless systems.
ipaste_ogl --
an OpenGL implementation of ipaste which relies solely on Xlib.
included are the necessary incarnations of the 3 libgutil files:
fastimg.c, file.c, and misc.c needed by ipaste.
pstools --
contains various programs combining operations with/on PostScript
files with IRIS GL graphics. One can: transmute a b/w image file
into a PostScript path which then generates a showpage command on
output; print a square array of pages ("readable" is contained
within "square factors" of 2 or 3) on a single paper page; take
a PostScript document with page structuring conventions and
generate 2 or 4 page signatures on a laser printer; print a
calendar for one month using a specified image file; take one or
more PostScript documents with page structuring conventions and
insert transformations to adjust the offset and scale of the
documents; take a PostScript document with page structuring
conventions and output Postscript that prints the pages reduced in
size and arrayed in x and y; print CMYK test scales that can be
used to calibrate printers; and/or take a one page PostScript
document, and generate a two dimensional array of copies on the
output page.
vidpan --
contains tools for controlling a Panasonic Video disc recorder,
including: recording a specified range of processed frames on the
video disc onto the disk recorder; record one frame from a live
camera onto the video disc; turn on/off the numerical and status
displays; set the frame number on the video disc for recording;
record a single frame at the specified location on the video disc;
display a sequence of frames from the video disc; have the disc
recorder display the input video signal on its video output; have
the disc recorder display video from the disc on its video output;
and display a color image on the Indigo Starter video board and
record a frame.
vidsony --
contains tools for controlling a SONY LVR-5000 Video disc recorder,
including: recording a specified range of processed frames on the
video disc onto the disk recorder; turn on/off the numerical and
status displays; set the frame number on the video disc for
recording; record a single frame at the specified location on the
video disc; display a sequence of frames from the video disc;
have the disc recorder display the input video signal on its video
output; have the disc recorder display video from the disc on its
video output; and display a color image on the Indigo Starter video
board and record a frame.
jpeg --
contains the fourth public release of the Independent JPEG Group's
free JPEG file format image compression/decompression software
including images of libjpeg.a, cjpeg, and djpeg. Support has been
added to manipulate SGI image files to/from jpeg format. See the
README.sgi file in this directory for details on compressing SGI
image files to jpeg format and then decompressing them back to SGI
image format. JPEG is a standardized compression method for full-
color and gray-scale images. JPEG is intended for compressing
"real-world" scenes; cartoons and other non-realistic images are not
its strong suit. JPEG is lossy, meaning that the output image is
not necessarily identical to the input image. Hence you must not
use JPEG if you have to have identical output bits. However, on
typical images of real-world scenes, very good compression levels
can be obtained with no visible change, and amazingly high
compression levels are possible if you can tolerate a low-quality
image.
mpeg --
contains a public domain MPEG video software decoder. The decoder
is implemented as a library that will take a video stream and
display it in an X window on an 8, 24 or 32 bit deep display. The
main routine is supplied to demonstrate the use of the decoder
library. Several dithering algorithms are supplied based on the
Floyd-Steinberg, ordered dither, and half-toning algorithms that
tradeoff quality and performance. Neither the library nor the main
routine (mpeg_play) handle real-time synchronization or audio
streams.
and much, Much, more TOTALLY INSANE (tm) stuff:
Digital Video Data Generation and Support:
vidiot --
demonstrates a fun video conferencing idea we're exploring. The
concept is to use the amplitude of sound to select between a series
of different images to animate a conversation.
vidtools --
tools for processing streams of video images
abekas --
this dir contains source code tools from Abekas Video Systems
including conversion programs, reading and writing examples, and
documentation on scsi connections to/from Abekas disk recorders.
libgutil/abekas.c --
this module contains routines that can generate and read digital
video data.
imgtools/{fromyuv,toyuv} --
these 2 programs convert between Abekas digital video images and
Iris image files. These tools can be used to record images from
the Iris on a device that supports digital video data, or to make
an image that can be displayed on the Iris.
Environment Mapping Tools:
128env --
this dir contains a small collection of 128x128 processed spherical
environment map images. We are actively collecting interesting
128x128 or 256x256 environment map images. Can you contribute to
this growing collection? (see bottom of file.)
128tex --
this dir contains a small collection of 128x128 texture map images.
We are actively looking for more interesting 128x128 and 256x256
texture map images. Can you contribute to this growing
collection? (see bottom of file.)
envmaps --
3 384x256 environment maps in cubical format. Generation of new
envmaps like these are accomplished with the tools in envtools.
envtools -- (create and manipulate environment maps)
Environment or Reflection mapping is a technique that uses texture
mapping to simulate the smooth shading of reflective surfaces. It
can be used to create very nice shading of more diffuse surfaces
as well. A variety of tools for creating and manipulating
environment maps are provided in the envtools directory:
cylenv - make a cylindrical projection from a cubical env map
envreduce - zoom a cubical env map down by a factor of 2
envexpand - zoom a cubical env map up by a factor of 2
fromfish - convert a mercator projection scanned fisheye image
to a cubical env map
frommerc - convert a mercator projection into a cubical env map
sphereenv - make a spherical env map from a cubical by rendering
a reflective sphere
tofish - create a fisheye view of a cubical env map
Polygonal Outline Font Format Tools:
fonts --
this dir contains a collection of fonts in our polygonal outline
font format plus one font composed of triangle meshes. New fonts
can be created using the tools in fonttools.
libgutil --
objfnt.c - this module contains basic support for our polygonal
outline format
charfill.c - this module contains code to create and draw anti-
aliased bitmaps of an outline font
fonttools --
Using the binary file format for storing fonts described above,
these fonts can either be polygonal outlines, spline outlines, or
triangle meshes. Various font conversion utilities are provided
here:
adjustfont - change the char spacing and origin of chars in a font
afm2tfm - converts Adobe font metric files into TEX font metrix
files
bevelstring- creates extruded beveled chars from a spline outline
of a polygon font
charfill - render antialiased text using a polygonal outline font
clonewid - copy widths from one typeface to another
drawfont - draw characters with triangle meshes in a GL window
fntslide - an example application that fills a polygonal font
fonttest - demonstrates drawing filled and outlined text
frompsf - convert a .psf font into the Hex format.
fromtype1 - converts an Adobe Type1 font to a spline or polygonal
font in sgi format.
makepsfont - converts a polygonal or spline font into a PostScript
font
meshfont - automatically triangulate a polygonal font
paintfont - a paint program that lets you create your own fonts
by interactively painting character's glyphs
printfont - prints a textual description of a font
rawtohex - this will convert the binary type1 from to a
printable hex format
restoraw - take an Adobe type1 font from a Macintosh and write
out a binary type1 font
simpfont - used to eliminate fine detail in an outline font
texfont - turn an outline font into a texture map
textmap - use texture mapping to draw text
totype1 - convert an outline font into a PostScript font
undup - eliminate duplicate points on a .of file
warpfont - apply geometric transformations (add slope or jitter)
to a font
Image Manipulation Tools:
impression --
interactive tools for creating painted representations of
scanned-in photographs. besides an interactive paint program
called impression, the other tools can be used to manipulate
paintings stored as a list of brush strokes. these brush stroke
files are called "sample sets" and usually have a suffix of ".ss".
enhance --
an image enhancement program that lets modify images by mutation and
selection. the graphical interface lets you chose many enhancement
operations, including gamma warping saturation, color balance,
quantization, and sharpening. this is an example of a program that
uses the Showcase UI library.
autopaint --
automatically "paint" an rgb image where you can alter the size of
image, do tiling, specify/vary the brush stroke image/size/
direction/alpha and control color noise.
imp --
a swell paint program that does painting in software and copies
onto the screen. it has several different brush shapes that can be
continuously resized. the density of the paint can be controlled
using a slider. various painting modes are supported: normal paint,
local sharpening, image copy, etc. TRUELY HEINOUS.
compexp --
an image compression application which uses the ShowCase UI library,
compexp allows you to select various compression parameters and
instantly see the results!!!!! YEEEEAHHHH! (same technique is used
in the "movie" dir).
movie --
includes programs for compressing and decompressing streams of
images. VERY swank enhanced menu options including fullscreen and
softzoom toggles.
mtex --
a small image processing application capable of massaging scanned
images for use as texture maps. It performs common operations such
as color or contrast correction, cropping, and sharpening, plus
unusual functions needed for texture maps. INSAAAAANE.
Images/Image Processing Tools:
images --
cool2.bw -
cutline.bw -
horlines.bw- "border" images used by imgtools/addborder
regmark.bw - to surround an image with a border
shadow.bw -
logo.bw -
oneill.bw - two IRIS black and white images
rathouse0.bw -
rathouse1.bw -
rathouse2.bw - "rat house reality" black and white images
PuebloB1.rgb - SGI imagelib images of photographs taken inside
PuebloB2.rgb - Pueblo Bonito, Chaco Canyon, New Mexico
RoundRock.rgb - Round Rock, Arizona where hiways _ and _ meet
Aztec.rgb - Aztec Nat'l Monument in Aztec, New Mexico,
Lomaki.rgb - Lomaki House from Wupatki Ruins, Arizona
ratman.rgb - the toolbox janitor
gear[1-8].rgb, duogear - photogs of gears turned into image files.
austin.rgb bill.rgb, chair.rgb, cmyk.rgb, dave.rgb, deerstroke.rgb,
drab.rgb, forestcar.rgb, gun.rgb, jeff.rgb, kandplate.rgb, kat.rgb,
kupka.rgb, marriott.rgb, max5.rgb, tango.rgb, tent.rgb, vase.rgb,
vase1.rgb, vase2.rgb - a smattering of images from paul's virtual
image space.
imgtools--
abs -- get the absolute value of an image
add -- add two images together
addborder -- surround an image with a border image.
addframe -- add a border to an image
addnoise -- add noise to an image
assemble -- assemble an array of smaller images
bgpaste -- paste an image onto the root window
blend -- linearly interpolate two images
blur -- low pass filter an image
bmdither -- dither img to 1-bit deep bitmap w/err propagation dithering
bmthresh -- threshold one image with another and write out a bitmap
btree -- display an image using binary tree ordering
cglue -- create an rgb image out of 3 black and white images
conimg -- (replaces nullimg) creates a constant (single) color image
convolve -- convolve an input image with a kernel image
cscale -- individually scale the R G B channels of an image
cutimg -- extract an particular sized image from a source
div -- divide the brightness of two images
dotgen -- make an image of two crossed sinusoidal wave patterns
duotone -- create a duotone image from a single channel image
encode -- classify an image chosing colors from a specified color map
fieldmerge-- merge two field images into one frame
findcolor -- find colors in a source image
fitimg -- uniformly scale an image to a specific size
fromalias -- convert an Alias image to an IRIS image
frombin -- convert a binary dump of image data to an IRIS image
fromcmap -- convert a color map into an image with one scanline
fromdi -- convert an old SGI .di dithered image into an IRIS image
fromface -- convert a UNIX faceserver image to IRIS format
fromgif -- convert a Compuserve GIF image to IRIS format
frommac -- convert a MacPaint image to IRIS format
frompic -- convert a MOVIE BYU .PIC image to IRIS format
fromppm -- convert a PPM file to IRIS format
fromrla -- convert a Wavefront image to an IRIS image
fromsun -- convert a sun rasterfile image to IRIS format
fromtarga -- convert a targa image into an IRIS image
fromtiff -- convert almost any tiff image file to IRIS format
fromutah -- convert a UTAH raster toolkit image into an IRIS image
fromxbm -- convert an X Bitmap image to IRIS format
fromxwd -- convert an xwd file to IRIS format
fromyuv -- convert an Abekas yuv image to IRIS format
gammawarp -- lighten or darken an image
gendit -- perform general image dithering
greyscale -- make 19 different image patterns
halftone -- half-tone an image, using Hollaway's technique
hipass3 -- high pass filter an image using a 3x3 filter kernel
hist -- compute and display the histogram of an image file
histeq -- perform histogram equalize an image file
iavg -- average a set of images
iblend -- blend 2 images using a (bw) mat
icmp -- visually compare two iris images
iflip -- flip an image
imean -- finds the average pixel value of an image
imgexp -- expand the range of pixel values in an image
imgsize -- print the xsize, ysize, and zsize of an image
imgwrap -- shift pixels left one bit
invert -- invert an image
ipaste -- display an image
iroll -- rotationally roll an image in x and y directions
irotate -- rotate an image by a given angle
isame -- compare 2 images pixel by pixel to see if they're the same
iset -- set the type (NORMAL,DITHERED,SCREEN,COLORMAP) of an image
istat -- print the header information of a list of image files
izoom -- magnify or shrink an image
jpaste -- an ipaste for JPEG compressed images
loadmap -- loads a colormap stored in a file
mapimg -- translates a screen image into an RGB image
max -- get the maximum of two images
min -- calculate the minimum of two images
mksep -- convert an RGB image into C, M, K, and K images
movie -- display a series of images in a "movie" sequence
mult -- multiply two images
noblack -- remove all the black from an image
normtodir -- determine the direction of the gradient across an image
oneband -- get a single band (or channel) of an image
over -- put one image on top of another
perhist -- print percent histogram values for an image
postcard -- make an image look like a postcard
quant -- quantify an image to have n levels
randimg -- generate a random noise image
readimg -- simple example using libimage to read an RGB image file
rectimg -- display a color or BW image on the iris
repcolor -- replace specified colors within an image
rle -- force an image to be stored using run length encoding
rmsdiff -- calculate the rms difference between two images
roam -- roam around a very large image using tiles
rothue -- rotate the hue of an image
saturate -- increase of decrease an image's saturation level
savemap -- save the current contents (or subrange) of the colormap
scope -- explore/view an image of any size
scrsave -- save a part of the screen into an IRIS image file
setlum -- modifies the luminance (brightness) on an image
shear -- shear an image diagonally
showimg -- example using libimage to open, read and display an image
slide -- zoom an image up for full screen display
snapshot -- save a portion of the screen in an image file
softframe -- add a black frame around an image
sub -- subtract two images
subimg -- extract a sub-region from an image into a new image file
thresh -- threshold one image with another using a threshimage
tile -- repeat an image in two dimensions
toalias -- convert an IRIS image to an Alias image
toascii -- use text characters to represent an IRIS image
tobin -- convert an IRIS image to a binary dump of pixel data
tobw -- convert an IRIS color image to black and white
togif -- convert an IRIS image to a Compuserve GIF image
tomac -- convert an IRIS image to MacPaint format
tonews -- convert an IRIS image to NeWS format
topict -- convert an IRIS image to Macintosh PICT format
toppm -- convert an IRIS image to Jef Poskanzer's ppm format
tops -- convert an IRIS image to PostScript format
toscitex -- convert IRIS images into Scitex CT2T images
tosun -- convert an IRIS image to a sun raster file
totarga -- convert an IRIS image to a type 2 (RGB) targa image
totiff -- convert a color or b&w IRIS image file into tiff format
toutah -- convert an IRIS image to Utah raster toolkit format
toyuv -- convert an IRIS image to yuv format
toxwd -- convert an IRIS image to X11 window dump (xwd) format
unframe -- remove constant colored pixels from around an image
verbatim -- force an IRIS image to be stored in verbatim format
vhist -- display a 3-D volume histogram of a color image
writeimg -- simple libimage example to write out an RGB image file
xzoom -- magnify or minify an image in the x direction
Image Libraries:
libimage --
libimage contains the modules necessary to create, open, read and
write IRIS image files. See libimage/README for the dope on the
fundamentals of libimage.a. (README.lp to PostScript printers)
NOTE: there is a new image processing library called libil.a.
This Image Library (IL) is a bonafide software product with
completely documented and supported features. Its default
image file format is tiff, but it also understands
everything about IRIS image file format. This C++ library
is an object-oriented, extensible toolkit for creating,
processing and displaying images on all SGI platforms.
With the release of this IL, the singular reliance on
libimage's core capabilities is being superceded by a
library supplying a superset of functionality available
from libimage. It is important for all developers and
programmers to understand the reality of libil.a's
existence.
libgutil --
contains MANY modules making up a collection of graphics utilities
used by the programs in envtools, fonttools and imgtools. There is
also a copy of this library that lives in /usr/lib. This library
includes functions to triangulate concave polygons, draw character
strings with geometry, drawing character strings using geometry,
creating beveled and extruded shapes, automatic generation of
triangle meshes, AND MUCH MUCH MORE!!!!!! Documentation is still
needing to be expanded for this, but a starting point is the
libgutil/libgutil.README file.
libcan --
this library supports doing image processing operations on arrays
of pixels. used by the "imp" and "enhance" programs.
! libtiff --
contains public domain TIFF support software. Included is a library,
libtiff, for reading and writing TIFF files. The library, along with
associated tool programs, should handle most of your needs for
reading and writing files that follow the 5.0 TIFF spec for Classes
B, G, P, and R. There is also some support for proposed additions
that are to appear in the 6.0 TIFF spec. Also included is a couple
of directories of contributed stuff, a documentation directory
containing a copy of the 5.0 spec, and some test images for most
formats supported by the library. Please consult the various README
files for more details on what is included, what to do, etc.
lib/librle.a --
contains the library part of the Utah Raster Toolkit distribution
version 3.0 of June, 1990. "imgtools/fromutah" and "imgtools/toutah"
are image file conversion programs that need this library. The
Utah Raster Toolkit is now distributed from the University of
Michigan and the University of Utah.
Other Libraries:
lib/libtri --
This library supports triangularization of concave polygons. libtri
is able to take concave polygons, and/or polygons with holes in them,
and correctly decompose these complex polygons into a series of
triangles. An example program in tritest/tritest.c demonstrates an
implementation of this process. We are not able to include the
source for this library at this time.
lib/libui.a --
the showcase development library is included 'cause more things are
being written using the showcase ui (see compexp, enhance, movie,
and styline)..
lib/libvor.a --
used with the impression programs, libvor.a--written by the great
Seth Teller (no relation to the destructively obsessed Edward T.)--
is a voronoi partition/delaunay triangulation library based on Steve
Fortune's plane sweep algorithm published in "Algorithmica," 1987,
"A Sweepline Algorithm for `Voronoi' Diagrams", volume 2, pp.
153-174. An example program can be found in ../vortest with its
accompanying copy of vordefs.h to better document the structures
defined/accessed in libvor.a.
Geometry Tools:
Simple Geometry Format modules --
libgutil/{sgiobj.c, sgiobjgl.c} contains the routines to create:
- List of quadrilaterals
- List of triangles
- Mesh of triangles
All of these are used to create objects of sgo format for
representing 3D geometry. Each sgo object is either a list
of quadrilaterals, a list of triangles, or a list of
triangle meshes. The programs in the "objtools" dir provide
various tools for operating on these objects. These tools
use various functions from libgutil that support a
simplified interface to describing shading, automatic
triangle mesh generation and efficient drawing of geometry.
libgutil/tmeshobj.c has code which takes an sgo format object
composed of a list of triangles and makes this into a tmesh.
objects --
contains a collection of sgo objects.
objtools --
avgnorm - averages the normals on all polygons in a triangle or
quadralateral object
explode - translate verticies in direction of normals
fitobj - fits an object into a unit cube
layer - view an sgi object interactively
makeoct - can be used to create spheres
objprint - prints a textual description of an object
objstat - prints info about an sgi object
spin - virtual sphere rotation interface
sterrend - cheap red/cyan stereo
subdiv - subdivide triangles to maximum edge length
swcurve - create surfaces of rotation from a textual list of numbers
tlbsp - BSP sort a triangle list
tldraw - draw a triangle list
tlfit - fit a triangle list to a -1,1 -1,1 space
tlline - locate interesting edges in a set of triangles
tllint - merge coordinates that are almost identical
tlsplit - split all intersecting triangles in a triangle list
tlsub - fit a triangle list into a -1.0..1.0 -1.0..1.0 space
tltops - draw a triangle list
tltotext - print a triangle list in text format
tomesh - auto tmesh generation.
tosgo - converts old spin formant objects to sgo format
totri - convert a quadlist object into a triangle list
warpgeom - warps the geometry of an object
warpnorm - this warps the normals of an object
Color Correction Software for Printing:
sgisep --
We used to provide a subtree of color separation software to convert
RGB images to film for 4 color printing, but it is felt you will get
better results by simply sending your original rgb images to Phoenix
Press directly. Their fown # is 714/261-0333. Ask for James Levesque.
Graphics Desktop Tools For The IRIS:
tools --
desktop tools:
blanktime - set the number of frames before the screen blanks
cedit - a simple color editor
clock - a simple desk clock
colorbars - colorbar generator
cycol - display a palette of colors
dynadraw - caligraphic drawing program
gamcal - visually check gamma display calibration
grid - draw a 10 by 10 grid for aligning a camera to the display
ical - a simple desk calendar
interp - gamma-corrected linear color ramp generator
mag - pixel replication and magnification in a window
makemap - reload default color lut values into the GL color map
mousemon - display state of the three mouse buttons
palette - display a palette of colors in the colormap
phwarp - warp images on a VGX (or higher ended) machine
showmap - display the contents of the GL color map
textcolors- set the colors used by a xwsh window
vis - copy the bytes of a file to the screen
weave - a weaving simulator for IRIS workstations
graphics utility tools:
cpprint - print an image file on a color PostScript printer
pprint - print an image file on an adobe post script printer
rgntest - an rgn example useful for management of regions
tritest - using libtri.a, a way to triangulate complex polygons
In their own universe:
styline --
creates hidden line drawings of 3-D geometry, and uses the Showcase
UI library to provide sliders that control the graphical style of
the hidden line drawing.
vortest --
libvor.a is a voronoi partition/delaunay triangulation library
based on Steve Fortune's plane sweep algorithm published in
"Algorithmica," 1987, "A Sweepline Algorithm for `Voronoi' Diagrams",
volume 2, pp. 153-174. Its .h file, "vordefs.h," and an example
program, vorexamp.c, are included in this directory to better
document the structures defined/accessed in libvor.a. BIZZARRE!!!!
Other Geometry Libraries:
PostScript-like path library - libgutil/path.c
Matrix library of routines - libgutil/matrix.c
Vector library of routines - libgutil/vect.c
Easier GL lighting of geometry - libgutil/glshade.c
Automatic triangle meshing - libgutil/tomesh.c
tomesh.c provides the routines to take a set of triangles
and make a tmesh out of this list of triangles
Other Libraries:
Virtual-sphere interface libgutil/track.c
General image dithering libgutil/gendit.c & imgtools/gendit.c
Picking colors from screen libgutil/getapixel.c
Graphics machine type query gfxmachine() inside libgutil/glstuff.c
Screen gamma tools/{gamcal.c, gamma.c}
For anyone wishing to contribute any texture map or environment map
images to our growing collection please contact:
dave ratcliffe
Silicon Graphics Inc.
2011 N. Shoreline Blvd.
Mountain View, CA 94039
email: dave@sgi.com OR devprogram@sgi.com
or simply send me a tar tape of the stuff you'd like us to check out.
make sure you include an intelligible return address so i can send
the tape back to you afterwards.
=====================================
! PART IV: On-Line Technical Documents
=====================================
This subtree contains documents--mostly PostScript files--of a wide
range of technical information regarding SGI's software and hardware.
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ++++++++++++ NEW ADDITIONS AS OF VERSION 4.2: ++++++++++++
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+
+ cc_c++_make_csh: "The Silicon Graphics Delta C++ Compiler" White Paper,
+ (Preliminary), 18 pages.
+
+ Dwarf : updated doc on DWARF, a binary debugging-information format.
+ The IRIX 6 compilers will produce debugging information in this
+ format rather than the format used in 5.2 and earlier releases.
+
+ irix5.2plusNewProds: * colormap usage differences between 5.1* and 5.2
+ * "HIPPI Performance on IRIX 5.2" white paper,
+ * html document on InPerson desktop conferencing sw product.
+ * "REACT in IRIX V.5 Technical Report" paper on real-time
+ * list of 5.2 IRIX patches, information current as of 7/20/94,
+
+ Inventor: see the new toolbox/src/exampleCode/inventor/www FAQ + Known
+ Bugs, Fixes, and Workarounds html information files copied from
+ the Silicon Surf www.sgi.com site. access is thru
+ toolbox/www/toolbox.html (consult toolbox/www/README)
+
+ mipsABI: see the new toolbox/src/swtools/mipsABI/abi-html MIPS ABI
+ Information Directory in html format replete with hyperlinks,
+ in-line images, etc, including a FAQ on porting to the MIPS ABI.
+ access is thru toolbox/www/toolbox.html (see toolbox/www/README)
+
+ OpenGL: "The Design of the OpenGL Graphics Interface"
+
+ networking: "Establishing a PPP connection using IRIX PPP" paper,
+ "SLIP INSTALLATION AND CONFIGURATION GUIDE",
+ update "Asynchronous Transfer Mode: Implementations for 1994"
+
+ RFC: new rfcs: fyi1.txt, fyi2.txt, rfc1291.ps, rfc129[5-7].txt,
+ rfc1521.ps, rfc1563.ps, rfc1583.ps, rfc1584.ps,
+ rfc[1540-1649,1651-1663].txt
+ WARNING: this dir now measures 63+ megabytes. See
+ RFC/{README,rfc-index.txt} for more details.
+
+ textureMapping: * "Texture Mapping as a Fundamental Drawing Primitive"
+ * "Fast Shadows and Lighting Effects Using Texture Mapping"
64bit - information relating to 64bit machines SGI is working on:
"Preparing for the 64 bit Future of IRIX", "Native 64-bit
Subprogram Interface for MIPS Architectures", "64-bit C
Porting Guide", and C & Fortran variable sizes file.
ANSI-C - contains files comprising a technical review of the book, "The
Annotated ANSI C Standard", and the text originally published
as the ANSI C rationale with useful information about the
origin, creation and meaning of the ISO C standard.
audio - a PostScript file version of the 8/26/91 Draft Document
by Apple Computer discussing "Audio Interchange File Format
AIFF-C, A revision to include compressed audio data".
cc_c++_make_csh - collection of documents relating to compilers, [p]make,
and c-shell:
* c++-rules.ps: "Programming in C++, Rules and Recommendations",
(C) 1990-1992 by Ellemtel Telecommunications Systems
Laboratories, 88 pages.
* commonrules.ps: "Silicon Graphics Inc, Common Makefile
include files, Notes", 5/6/93, 39 pages.
* cpp.qr 123-line C pre-processor "cheat sheet" quick ref
* csh.qr 123-line C-shell quick reference.
* make.qr 95-line make quick reference.
* pmake.qr 203-line pmake quick reference guide.
* makeconv.ps "Silicon Graphics Makefile Conventions", A
Reference manual of the conventions followed in
SGI Makefiles, 10
DevDriver - inst images of two SGI manuals: the IRIX Device Driver
Programming Guide and the IRIX Device Driver Reference Pages.
These manuals explain how to write device drivers for IRIX
Releases 5.0 and later and can be viewed using InSight. For
installation instructions, see the README file.
Dwarf - documentation on DWARF, a binary debugging-information format.
The TFP compilers will produce debugging information in this
format rather than the format used in 5.2 and earlier releases.
Only people *writing* compilers, debuggers, or related tools
are affected directly by this change. DWARF defines, in detail,
a way for compilers to tell debuggers about source programs.
DWARF1 is the DWARF produced by USL's SVR4 compilers and used by
their debuggers. It is no more capable than the MIPS mdebug
symbol table and is less dense than mdebug. We will not use
DWARF1. SGI will be using DWARF 2. It is capable of recording
much more detailed information than DWARF 1 and is far more
compact (debugging information in DWARF2 format takes much less
space on disk than debugging information in DWARF1 format).
GIO_DRVR - contains information to write a device driver for a GIO
board with sections addressing: Determining GIO Device
Addresses, Including GIO Device Drivers in the Kernel,
Writing edtinit(), GIO-Specific System Calls, GIO
Interrupt Handler, Programmed I/O (PIO), DMA Operations,
GIO Devices with Hardware Supported Scatter-Gather
Capability, and DMA on GIO Devices with No Scatter-Gather
Capability.
I18N - contains documentation on SGI's implementation of software
Internationalization. These are only draft versions.
Inventor - PostScript files for the new "How to Write an Open Inventor
File Translator" document and a single PS file of the updated
Quick Reference Guide with info on Open Inventor nodes and the
Inventor file format, and a man page for the DxfToIv utility
which converts AutoCad's DXF format files to Inventor files.
irix5.2plusNewProds: info relevant to irix 5.2 and New Products:
* 2 files on HIPPI: New Product Bulletin + QnA's,
* question-and-answer on the Indigo Magic User Environment
Interface,
* the major changes between the 4.X and 5.2 versions of the
Installation Guide,
* IRIS Media Libraries New Product Information on dmedia_dev
and svideodev,
* Periodic Table IRIX Operating Systems as a 3-page showcase
file--current as of April 13, 1994,
* Software Compatibility Matrix for software product numbers
and software releases from 4.0.1 to 5.2
* Field Information Bulletin #414 documenting known bug:
"Indigo2 XZ/Extreme stipple register causes graphics
problems on IRIX 5.2",
* guidelines for the use of the /usr/share filesystem.
libconv - the newest addition to the mathlib subtree, libconv is an
optimized library available on Silicon Graphics computers.
It features Convolution for Finite Impulse Response (FIR)
and Infinite Impulse Response (IIR) filters, together with
Correlations. The library modules take 1D and 2D inputs,
and are available in single and double precision for real
and complex arithmetic. The 2D subprograms have been
parallelized and take full advantage of SGI parallel
architecture.
mipsABI - contains doc for mipsABI porting materials includes PS copy
of the "MIPS Processor ABI Conformance Guide Version 1.1.1"
(the "Black Book"), a mips FAQ about porting to the ABI, and
a short paper entitled "Constructing MIPS ABI Compliant
Binaries on the IRIX 5.x Operating System".
Motif - contains an SGI internal paper on Motif Performance Notes.
networking - tree containing networking documents:
* "Asynchronous Transfer Mode: Implementations for 1994"
OpenGL - contains an Analysis of PEX 5.1 and OpenGL 1.0, "OpenGL and X,
Part 1: An Introduction", "OpenGL and X, Part 2: Using OpenGL
with Xlib," "OpenGL(tm) and X, Part 3: Integrating OpenGL with
Motif", copies of the "OpenGL and X" tutorial presented at the
8th Annual X Technical Conference, Boston, Mass., 1/24/94, 2
versions of a list mapping IrisGL commands to similar OpenGL
ones, "X Server Multi-rendering for OpenGL and PEX", and 3
PostScript files for the OpenGL Specification, including the
Spec itself, the OpenGL Utility Library, and the API for the
OpenGL extension to the X Window System.
optimization - contains PS copy of how to optimize your code from chapters
one and three of the "Irix Programming Guide," covering "Using
the Compiler System," and "Improving Program Performance," as
well Chapter Two of the "IRIX System Programming Guide," to
help you use and build Dynamic Shared Objects. Also included
are overview descriptions of Build-time alternatives relating
to ld, and an overview of Quickstart, Requickstart and tasks
performed by RLD, the dynamic linker.
RFC - Internet Request For Comments (RFCs) are texts documenting
problems, test results, protocols, jokes, and just about every
aspect of the Internet, since its inception. Internet RFCs
provide the current set of open standards used on the Internet,
today. To both ensure interoperability with other products and
prevent re-invention of wheels, developers of network apps will
find it useful to be familiar with, and to the extent possible
conform to, applicable standards. Examples of available
standards are the Simple Network Monitoring Protocol (SNMP),
Internet Protocol (IP), File Transfer Protocol (FTP), and
Simple Message Transfer Protocol (SMTP), all of which are
supported by SGI.
SiliconStudio - information about Silicon Studio, a professional film and
video production system based on Silicon Graphics workstations,
specialized video options and third-party software solutions:
* "The Silicon Studio for Publishing Environment from Silicon
Graphics".
* "Creative Desitinations, Silicon Studio Training Centers"
document describing 8 locations in North America and Europe,
* "Silicon Studio Technical Report", covering Gailieo Video,
Indy/Indigo^2 Video, Cosmo Compress, and Sirius Video
Technical Reports.
textureMapping - addresses issues pertaining to texture mapping:
* "Interactive Geometric Image Transformation Using Texture
Mapping",
* "Accelerated Volume Rendering and Tomographic Reconstruction
Using Texture Mapping Hardware",
* "Texture Mapping in Technical, Scientific and Engineering
Visualization".
VMEinterface - VME interface description for Personal Iris, 4D100 to
4D400 series machines, and Crimsons. This paper does NOT
include the IO4 VME in Challenge and Onyx systems.
XInputExtension contains four PostScript files on the X11R5 Input
Extension Library written by the MIT X Consortium: "X11 Input
Extension Library Specification", "X11 Input Extension Porting
Document", "Appendix A, Input Extension Protocol Encoding",
and "X11 Input Extension Protocol Specification", as well as a
copy of the README file that will appear under
/usr/lib/X11/input/config later in 1994, providing info on
Device controls and the ways SGI has extended them to change
and query things about devices.
Xpm - a document on XPM (X PixMap), a format for storing/retrieving
X pixmaps to/from files.
Xserver - contains 3 PostScript versions of Silicon Graphics X server
papers respectively titled, "A Fully Functional
Implementation of Layered Windows," "Program X Overlay
Windows," and "Going Beyond the MIT Sample Server: The
Silicon Graphics X11 Server".
video - contains the SGI Digital Video specification including the
data format, electrical and mechanical interfaces used to get
digital video data into and out of the Silicon Graphics
platforms via this 60-pin connector.
================================
! PART V: Public Domain
================================
This subtree contains useful software obtained from
the public domain which has been ported to the IRIS.
Unlike all the other software contained in the Developer Toolbox,
this software can be distributed freely, without restriction.
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ++++++++++++ NEW/UPDATED ADDITIONS AS OF VERSION 4.2: ++++++++++++
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ FTPsites Expanded list (current as of July 29, 1994) of visited FTP
+ sites containing public domain software for the SGI platform.
+
+ FWF ``Free Widget Foundation'' flexible widgets compliments of
+ the X user community.
+
+ bin/CLRview a 3D visualization prog exploits real-time capabilities of
+ IRIS machines (updated to version1.77).
+
+ bin/linkwinds a visual data analysis and exploration system designed to
+ rapidly and interactively investigate large multivariate and
+ multidisciplinary data sets to detect trends, correlations
+ and anomalies. It accepts HDF, CDF, netCDF, FITS, PDS, SGI
+ RGB, and binary byte and floating point data.
+
+ plan a schedule planner based on X/Motif.
+ version 1.3.1, released 7/11/94.
+
+ psgl latest 5/29/94 release, v2.0 beta of psgl to intercept GL
+ calls and convert to EPS commands.
+
+ rayshade swank ray tracing program, v4.0.6, reads multi-line ASCII
+ file describing scene to be rendered, and modified to output
+ images in SGI RGB format using libimage instead of rayshade
+ standard, Utah Raster format.
+
+ xbdx sgi-instable images containing necessary images to install
+ executable copies of xdbx on an SGI workstation running
+ IRIX 5.2+
Contents of ~4Dgifts/toolbox/public:
FTPsites - updated (current as of July 29, 1994) list of known archives
containing Public Domain software for SGI machines available
via ftp.
GNU - software from the Free Software Foundation src+inst-able
images for GNU EMACS (version 19.22) and src for GNUMAKE.
HPGL - includes some utilities for using plot files in Hewlett
Packard Graphics Language format.
ImageMagick - v2.3.7, a collection of X11 image processing and display
utilities.
RTF - a formatted text display widget in the Motif toolkit.
SciAn - a scientific visualization and animation program primarily
intended to do 3-D visualizations of data in an interactive
environment with the ability to generate animations using
frame-accurate video recording devices.
TeX - text processing system -- ported-to-IRIX-5.2-version.
NOTE: on v4.2 of the developer toolbox CD, the TeX directory contents are
NOT included. this was necessary to make space for the "new
additions" list. the TeX distribution has not changed since v4.1.
everyone who did not receive the v4.1 CD in May will receive a copy
along with v4.2.
Xpm - XPM (PixMap) library (version 3), a format for storing/
retrieving X pixmaps to/from files, and pixmap (version 2.0,
R4/R5 version), a pixmap editor based on XPM library.
Xprof - xprof is an X protocol profiler which reads an X scope trace
to produce a profile of requests made by a client. xmeasure
is a utility which produces X server metrics used by xprof.
agrep - agrep (version 2.04) is a new tool for fast text searching
allowing errors. agrep is similar to egrep (or grep or
fgrep), but it is much more general (and usually faster).
bin subtree--public domain binaries and doc but no source:
* CLRpaint, "a 24-bit paint program used to cut and paste
scanned images, add titles to screens, prepare texture maps,
and to paint your own images"
* CLRview, "a 3D visualization program designed to exploit the
real-time capabilities of" IRIS machines.
bit - Bitmap Image Touchup image pkg for SGI machines, v0.91,
handles IRIS RGB image files, ppm, pgm, pbm, gif, jpeg,
PostScript, XBM, XPS, TMP, RAS, CMPRS- and tiff file formats.
cdsend - reads audio CD's over SCSI, converts to a format suitable for
broadcast, and writes this to stdout.
dbmalloc - the malloc debugging library (patchlevel 14) with drop-in
replacements for standard dynamic memory allocation routines
and many C modules typically used to access/manipulate these
data areas. Almost identical to the original functions, the
replacements perform a significant amount of error checking
and/or validating.
fax - v2.2.2, reasonably full-functioned facsimile service for
UNIX includes source and inst images;
ghostview - a full function user interface for ghostscript
ghostscript - a language/interpreter (v2.6.1) much like PostScript.
inst - sgi inst-able images of emacs19, flexfax, ghost[script/view],
gzip, jpeg, pbmplus and xpd.
jpeg - version 4 image compression, decompression and display
software plus CLR library additions.
oneko - a cat|dog cursor "chases the mouse|bone" around the screen;
patch - automagically inserts the contents of software update context
diffs into the original source.
pbmplus - many progs to convert from one image format to a "standard"
format, then from that standard format to many other formats.
plan - a schedule planner based on X/Motif. It displays a month
calendar similar to xcal, but every day box is large enough
to show appointments in small print. By pressing on a day
box, the appointments for that day can be listed and edited..
psgl - package to intercept GL calls and convert them into
encapsulated postscript (EPS) commands.
radio - enables listening to audio transmitted as UDP packets on a
local area network by broadcast.
rsynth - v.9, speech synthesis program ported to SGI.
sgiCD - two progs based on the SGI CD audio library: one gives basic
info about an audio disk, the other plays an audio CD loaded
in an SGI CDrom drive through the SGI Indigo's speaker (i.e.
the libcdaudio routines are used to read the digital data
directly from the CD, and play the samples through the Audio
Processor).
shar - a utility for building a shell archive.
sox - provides translators for sound samples between different file
formats (Sound Blaster .VOC files, IRCAM SoundFile files, SUN
Sparcstation .au files, mutant DEC .au files, Apple/SGI AIFF
files, Macintosh HCOM files, Sounder files, and Soundtool
(DOS) files) and performs various sound effects including
changing the sample rate, adding echo delay lines, applying
low- and band-pass filtering, and the infamous Fender Vibro
effect.
tarmail - a utility for conveniently sending files through e-mail.
tuner - a motif-based "tuner" for ethernet radio stations.
vis5d - v3.3, a system for visualizing data made by numerical
weather models and similar sources, and includes the vis5d
visualization program, several programs for managing and
analyzing five-dimensional data grids, and instructions and
sample source code for converting your data into its file
format.
xcdplayer - X window system interface to run the sun or sgi cdrom drive.
====================================================================
PART VI : Hardware Tree Device Driver Code/Documentation
====================================================================
This subtree contains source code for device drivers and some on-line
copy of technical information useful for hardware developers.
Contents of ~4Dgifts/toolbox/hardware:
dat : This sample driver source code is for provided to give
you an example of how to use dslib routines. It is NOT
the aim of this driver to replace the tape driver in
IRIX nor it is to be used INSTEAD of that driver. It
is simply a working user-level driver to be used and
studied as an example of interfacing with the Scsi bus
through routines in dslib library.
h550_driver : NOTE that THIS DRIVER will ONLY OPERATE ON IRIX 5.2 or
later. Contains the source for an in-process project of
writing a device driver for the Comtrol Hostess 550
Serial Port Board. The board can have either 4 our 8
ports per card. The UART chip used on the board is a
16550.
HDW.faq : "Frequently Asked Questions" about hardware issues.
Hardware.FAQ : the most recent SGI Hardware Frequently Asked Questions
maintained by Allan Schaeffer and posted to various
internet news groups as well as a list of questions and
answers culled from the last 1800 messages (as of late
October, 1993) to comp.sys.sgi.hardware.
GIO_DRVR4.0.5: GIO Device Driver Writing Guide. The files in this
directory contain information needed to write a device
driver for a GIO board on an Irix 4.0.5 system software
platform.
GIO_DRVR5.1 : GIO Device Driver Writing Guide. The files in this
directory contain information needed to write a device
driver for a GIO board on an Irix 5.1 system software
platform.
monitorCalibration: file with information on how to calibrate the new
Sony monitors.
mount_media : two sets of programs in this tree allow user mounting of
either a CD-ROM or a Magneto-Optic (MO) drive to an SGI
system. Normally a user would have to have root access
to mount any device. These two programs allow any user
to do this.
parallel_port: contains an example of how to program for the parallel
port. (more to come...)
rap : Roland RAP-10 Music Card Device Driver for Eisa Bus
contains a sample device driver for IRIX 5.2 EISA bus,
demonstrating:
* Writing a character device driver for EISA bus,
* How to obtain an Interrupt number (IRQ),
* How to allocate and program EISA DMA chipsets,
* How to program Eisa Dma channels for hardware
recognition,
* How to use EISA Dma chips to move data from/to a
device,
* How to manage and use a circular buffers between
kernel and user's read/write calls,
* and many more ...
summa : contains all the files required to build and test the
Summagraphics 6x9 tablet driver. This could be used
as an example of how to create a streams device driver
for a typical serial port device.
video : at present contains a postscript file describing the SGI
Digital Video specification including the data format,
electrical and mechanical interfaces used to get digital
video data into and out of the Silicon Graphics platforms
via this 60-pin connector.
VMEdoc : VME interface description for Personal Iris, 4D100 to
4D400 series machines, and Crimsons. This paper does
NOT include the IO4 VME in Challenge and Onyx systems.
=================================
! PART VII: Binary Tools
=================================
This subtree contains binary tools deemed useful for inclusion into the
Developer Toolbox. For various reasons, the source code for these apps
are not available. Thus, they are included here as binaries only.
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ++++++++++++ NEW ADDITIONS/UPDATED AS OF VERSION 4.2: ++++++++++++
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ CDmastering - now contains mkisofs, a binary capable of creating an
+ ISO-9660 filesystem image.
Contents of ~4Dgifts/toolbox/bin:
CDmastering - contains mkdisc source as well as scripts and binaries
required to burn an SGI-style CD-ROM. The scripts work
with:
The Sony CDW-E1/W1 CD Encoding/Writing units.
The Sony CDW-900E CD Recroding unit.
No other CD writing units are supported.
fsn - a 3D file system navigator in cyberspace, allowing one to
"fly thru" a 3D representation of a file system. Use fsn
as an alternative to visually scanning the Toolbox tree.
fsn has been updated to be able to handle *relative* paths
for the top directory to be looked at. In this way, it
can now be run out of the toolbox, no matter what the
mount point is on the local/remote machine.
games - contains binaries + doc + data files (in ./.data) for
various grafix[/audio] games. Regretably, for legal
reasons, the source for blackbox, pods, and sb is not
available for distribution. As Dick the Butcher says to
Jack Cade in the second part of Shakespeare's Henry VI
(2.4.70), "The first thing we do, let's kill all the
lawyers."
inout/backat - a groupware program which establishes an In/Out
board on each person's machine on a local network
enabling each person in a work group to keep other
interested parties advised of their comings and
goings.
setfb - a binary that sets the effective frame buffer depth to
8 or 24 bitplanes and is intended for use by developers
wishing to test their applications in an 8-bit system,
when what they have is a 24-bit system.
NOTE: only useable with Indigo^2 XL and Indy machines.
tiepoint - demos the use of Control or Tie points to determine
the coefficients of a polynomial warping function.
=========================================
! PART VIII: Applications Packages
=========================================
This subtree contains various applications packages. At the
present time all packages are sgi in-house creations, but
there's no reason they can't be from "outside".
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ++++++++++++ NEW ADDITIONS/UPDATED AS OF VERSION 4.2: ++++++++++++
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ cmapDoctor/cmapdoctor a scanner/viewer for all X colormaps/visuals
+ including overlays, underlays and popups;
+ cmapviewer an X-based colormap/visual viewer
+
+ gmemusage - graphical memory usage display tool to help programmers
+ analyze how their programs and the system as a whole is
+ using memory.
+
+ gvi - graphical vi command: viewkit-implementation providing
+ a graphical user interface to the vi(1) text editor.
+
+ pcnfsd updated PC-NFS daemon provides access for the IRIX user
+ of authentication and print spooling services from your
+ PC when used with Sun's PC-NFS software.
Contents of ~4Dgifts/toolbox/src/apps:
ibrowse - an image file browser, version 1.1.2. ibrowse lets you
view all the images in a directory as a scrollable field
of small picture icons.
opaste - a tool for pasting images into the overlay/popup
planes.
xconf - an X-based local area network conferencing program,
v2.08. Written by a veteran of the fown wars in SGI's
customer support division and used extensively by same.
==============================
! PART IX: UTILITIES
==============================
a brand new subtree containing various utilities
guaranteed to be useful to the "right audiences"
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ++++++++++++ NEW ADDITIONS/UPDATED AS OF VERSION 4.2: ++++++++++++
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ with v4.2, we have begun including links as well to progs qualifying
+ as utilities even though they exist elsewhere in the tree (i.e. src
+ is included). these are indicated with "l->"
+
l-> VCal a simple calendar program with alarms.
+
+ cd-catalog contains versions of music catalog files for for CDman(1)
+ and cdplayer(1), current as of July 31, 1994
+
l-> cmapdoctor a scanner/viewer of X colormaps and visuals including
+ overlays, underlays, and popups. this app can be used
+ to diagnose/debug/verify colormaps and their contents
+ in applications using multiple colormaps and visuals.
+
l-> fconv a Motif-based numeric format conversion utility for hex,
+ octal and decimal equivalents.
+
l-> gmemusage a graphical memory usage display tool, developed at
+ Silicon Graphics to help programmers analyze how their
+ programs and the system as a whole is using memory.
+
l-> gvi a modest graphical front end to the vi(1) text editor.
+ By placing each vi editing window on top of each other
+ and using the ViewKit TabPanel, one can easily select
+ among editing sessions. Each vi editing window has a tab
+ (like a rolodex tab) associated with it.
+
+ sgihelp_dev contains some bug fixes.
+
l-> short_timeout checks whether a remote host responds quickly, avoiding
+ a long wait for a network timeout.
+
+ uil2VK contains some bug fixes.
+
l-> xcontact Address Book and Contact Management Software.
+
l-> xshowcmap2 an extension to xshowcmap and useful in debugging
+ problems dealing with multiple colormaps and/or visuals.
+ modified with three new optional arguments:
+ -visid allows specifying the visual id.
+ -cmap allows specifying the colormap id.
+ -windowid allows specifying a window id.
cd-catalog contains July 31, 1994 versions of music catalog files for
for CDman(1) and cdplayer(1). The music catalog stores
titles, artists and program information for Compact Discs.
When a CD is inserted in the CD-ROM drive, CDman searches
the music catalog for an entry containing catalog
information for that recording. If it finds one, it
displays the information in its large display panel. Data
from the recording's table of contents is used as the key
for searching the music catalog.
findSubSys find which subsystem a file is installed from.
Sometimes one needs to know which subsystem a file was
installed from. fss finds out the name of the inst
subsystem which installed a file. Use it like this:
% fss /usr/etc/{ping,cvpcsd}
eoe2.sw.tcp usr/etc/ping
CaseVision.sw.pcsd usr/etc/cvpcsd
parasol Analyze FORTRAN source to assist in parallel porting.
parsol is a program for walking through FORTRAN source
code and finding which functions call who and which
functions touch what variables/common blocks.
sgihelp_dev SGIHelp development tools to integrate help with an
application in the Indigo Magic User Environment.
inst-able images of data and executables including an
example program that has help integrated into it, and a
sample of the various structures you can create in the
help content for your application. The first example, in
/usr/share/Insight/XHELP/samples/exampleApp, shows a
complete X11/Motif app integrating the library calls and
helpmap file with the SGML help file. The second example,
in /usr/share/Insight/XHELP/samples/sampleDoc, demos the
various valid SGML structures when constructing a SGML
instance of the XHELP DTD. The document HELPDEV.txt, in
/usr/share/Insight/XHELP, discusses how to integrate help
with your application in more detail. Please read that
file to begin your adventure of integrating SGIHelp into
your application.
uil2VK contains a code generator that can be used with builder
Xcessory to generate code compatible with the ViewKit class
library. BuilderXcessory is a product of ICS, and can be
purchased directly from them or through SGI's ExpressWare.
===================================================================
PART X: 3 PARALLEL MATH LIBRARIES AND OTHER TOOLS
===================================================================
Contains the following parallel math libraries and algorithm implementations:
Contents of ~4Dgifts/toolbox/lib/mathlib:
libblas - Basic Linear Algebra Subroutine. 3 levels of BLAS:
Level 1 : for vector operations such as y <- alpha*x + y
Level 2 : for matrix vector ops such as y <- alpha*A*x + beta*y
Level 3 : for matrix-matrix ops such as C <- alpha*A*B + beta*C
LINPACK is a Fortran set of subroutines which analyze and solve
various systems of simultaneous linear algebraic
equations. It uses a subset of the Level 1 BLAS.
LAPACK (Linear Algebra PACKage) puts together a new set of
linear algebra functions, supposed to supplant both
LINPACK and EISPACK packages. To achieve maximum
efficiency across all types of hardware, the LAPACK
routines are based on matrix-matrix BLAS 3 routines
(e.g. DGEMM). This implementation is much more
performant than anything based on vector-vector
Level 1 BLAS routines (e.g. DAXPY), or even matrix-
vector Level 2 BLAS routines (e.g. DGEMV).
libconv - LIBCONV is an optimized library available on Silicon Graphics
computers. It features Convolutions for Finite Impulse
Response (FIR) and Infinite Impulse Response (IIR) filters,
together with correlations. The library modules take 1D and
2D inputs and are available in single and double precision
for real and complex arithmetic. The 2D subroutines have
been parallelized and take full advantage of SGI's parallel
architecture.
libfft - includes one, two and three dimensional Fast Fourier Transforms
complex <---> complex
real <---> complex
single and double precision, 2D and 3D are parallel
libfft uses a "row-column" algorithm, and it is based on 1D FFTs from
FFTPACK
skyline - F77 lib for solving linear systems of equations where the
matrix is banded, with the bands varying in width, stored
in a packed form known as skyline.
psort - Parallel implementation of the Merge-Sort Algorithm
============================================
! PART XI: Software Development Tools
============================================
Contains software tools source code to facilitate
your own development and implementations:
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ++++++++++++ NEW ADDITIONS/UPDATED AS OF VERSION 4.2: ++++++++++++
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ DSOs/forum93/forum93.showcase updated version now includes information
+ on 64-bit issues,
+
+ libdmalloc: a debugging malloc library useful for finding memory
+ corruption quickly in many different programs, since it has
+ little overhead and does not require programs to be compiled
+ in any special way. It uses the ability to plug in different
+ a malloc library using DSOs.
+
+ libdwarf: src + updated doc files for DWARF, a binary debugging-
+ information-format.
+
+ listSymbols: script lists exported functions in libraries (useful for
+ checking spelling, searching for a function, etc), and as
+ "undef" to ensure all unresolved symbols are accounted for.
+
+ mipsABI/abi-html: MIPS ABI Information Directory in html format
+ replete with hyperlinks, in-line images, etc, including a FAQ
+ on porting to the MIPS ABI. access is thru
+ toolbox/www/toolbox.html (consult toolbox/www/README)
Contents of ~4Dgifts/toolbox/src/swtools:
dbcopy - contains a faster version of the memory copy routines than is
found in libc in 5.1 and before.
DSOs - new subtree contains 1993 dev'er showcase forum slides +
8 Case Studies in Dynamic Shared Objects.
DSOs/compiler-DSOtricks - new compiler-DSO tricks file,
DSOs/IRIXSysProg.DSOs.ps - 5.2 release version of "The IRIX System
Programming Guide," Chapter 3: "Dynamic Shared Objects",
gencall - generates a high-level programming interface to the MIPS
calling convention on SGI machines. This allows a programmer
to call any function specified by a call descrption at run
time. This can be used by programs that do not know what the
call interface is at compile time.
generic - a generic application providing a file-opening template
I/O interface to UNIX.
KrnlCrashDBG - Kernel core file report generator with man page and
crpt.shar compilation,
MakeSccsRCS - a "fax-able" covering Make(1)/Pmake(1) and SCCS,
Make(1)/Pmake(1) and RCS, and ftp location of GNUmake,
malloc_db - A heap trasher finder--a "malloc" debugger.
mipsABI - mipsABI porting materials includes:
* ABI porting Q&A in PS and on-line readable form (inst-able
images+srcs for the on-line reader),
* PS copy of the "MIPS Processor ABI Conformance Guide
Version 1.1.1" (the "Black Book"),
* porting examples, and
* a paper on "Constructing MIPS ABI Compliant Binaries
on the IRIX 5.x Operating System".
MMmalloc - plug in replacement of the "libmalloc" (malloc(3X)) library,
in general is faster, more memory efficient and has better
functionality than the original libmalloc. Major feature is
to be able to recycle memory so as to reduce swapping and
swap requirements. Compared to the recent version of libc's
malloc it is faster with comparable memory usage and aging
characteristics.
QnA-compilers - a "Question-and-Answer" file of information snarfed from
various external and internal-to-SGI news groups on issues
pertaining to compilers.
tracebackCode- 2 progs provide alternate implementations of a function
which prints a stack traceback of the calling program. They
are principally useful for debugging code that has gotten
into an `interesting' location. Since the functions return
normally, the application can continue to operate.
trubasic: a fully functional version of the True BASIC programming
language with a 250-line limit on programs, for writing
text-mode and graphics utilities and supports X Windows and
the GL. True BASIC progs can be run with little or no
modification on MACs and PCs.
XandSysPerf: files pertinent to X and system perfomance issues.
===================================================
PART XII: Software for Different Tutorials
===================================================
Contains software for various "visualization tutorials:
geometer IRIX-5.2 version runs with jot instead of zip.
geometer illustrates concepts of 2-D Euclidean and
projective geometry by enabling the user to visually
"prove" to herself the validity of any number of geometric
proofs and theorems. Also contains code that
solves 2-D constraint problems, and illustrates an
interesting form of user interface that allows both
graphical and textual interaction.
custEducation - the earlier graphics tutorials have been, at least for
the time being, retired from service since they were not
rigorous enuff for 5.1 Irix. Currently a new set of
programs have been developed all implemented in OpenGL.
In version 4.0 of the Developer Toolbox there are two
opengl subtrees that are being taught by SGI's Technical
Education Department:
opengl1: OpenGL Programming 1 Course -- Sample Programs
(covering the basics)
and
opengl2: OpenGL Programming 2 Course -- Sample Programs
(addressing more advanced programming issues.)
==========================================
PART XIII: Printer Software Tools
==========================================
Contains software relevant to the infinite world of printing
technology including:
lpr - a script enabling default lp printing dump to lpr.
this script is an lp interface that invokes lpr. lpr
can then invoke a network printer. This script allows
printing to lpr from workspace.
ps_fonts - programs to help you check whether the PS device you
have or intend to buy will allow you to print all
characters in the alphabets you want to use.
supported.devices.list - List of printers (and scanners) supported by
SGI, all told, with notes including which are supported by
Impressario. current as of April 7, 1994.